package com.ruoyi.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 设备基础信息对象 zyx_device
 *
 * @author lhs
 * @date 2021-05-26
 */
public class ZyxDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 医院id 关联部门表 */
    private Long departid;
    /** 设备型号 */
    @Excel(name = "设备型号")
    private String devicemodel;// 设备型号
    /** 设备编号 */
    @Excel(name = "设备编号")
    private String devicecode;

    /** 设备类别字典 */
    @Excel(name = "设备类别字典")
    private String devicetype;

    @Excel(name = "单位名称")
    private String unitname;


    /** 使用科室字典 */
    @Excel(name = "使用科室字典")
    private Long useoffice;

    /** 安装日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安装日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date installdate;

    /** 生产厂家 */
    @Excel(name = "生产厂家")
    private String factory;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supplier;

    /** 责任人 */
    @Excel(name = "责任人")
    private String dutyuser;

    /** 是否保养字典 */
    @Excel(name = "是否保养字典")
    private String istake;

    /** 是否检定 */
    @Excel(name = "是否检定")
    private String ischeck;

    /** 是否建立档案 */
    @Excel(name = "是否建立档案")
    private String isrecord;

    /** 是否调拨 */
    @Excel(name = "是否调拨")
    private String isallot;

    /** 是否合算运维 */
    @Excel(name = "是否合算运维")
    private String isoperation;

    /** 风险等级 */
    @Excel(name = "风险等级")
    private String dangerlevel;

    /** 资产编号 */
    @Excel(name = "资产编号")
    private String propertycode;

    /** 出厂编号 */
    @Excel(name = "出厂编号")
    private String leavecode;

    /** 资产原值 */
    @Excel(name = "资产原值")
    private BigDecimal propertyvalue;

    /** 折旧年限 */
    @Excel(name = "折旧年限")
    private BigDecimal depreciationyear;

    /** 是否投保 */
    @Excel(name = "是否投保")
    private String isinsure;

    /** 保修价格 */
    @Excel(name = "保修价格")
    private BigDecimal warrantyprice;

    /** 保修年限 */

    @Excel(name = "保修年限")
    private BigDecimal warrantydate;

    /** 投保单位 */
    @Excel(name = "投保单位")
    private String insuredunit;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String mobile;

    /** 删除标记 */
    private String delFlag;

    private Long parentId;

    /** 子菜单 */
    private List<ZyxDevice> children = new ArrayList<ZyxDevice>();

    /** 设备型号 */
    @Excel(name = "设备状态")
    private String devicestatus;//设备状态 1正常、0在修

    private SysDept sysDept;
    /** 修改状态用 */
    private String status;
    private String changemode; //1保养 2鉴定 3

    private Long memberid;//查询用
    private String deptname;//查询用 医院名称

    private String useofficename;//使用科室
    private Long normalnum;//正常数
    private Long faultnum;//故障数

    //统计分析用
    //维修次数
    private Long repairnum;//
    //保养次数
    private Long takecarenum;//
    //检定次数
    private Long checknum;//
    //开机率
    private Double openrate;
    //停机时间
    private Double downtime;
    //设备费用统计用
    private Double operationcost;//运维费用
    private Double depreciationcost;//折旧费用
    private Double guaranteecost;//保修费用
    private Double repaircost;//维修费用
    private Double checkcost;//检定费用
    private Double takecarecost;//保养费用
    private Double operatecost;//运营相关费用
    private Double othercost;//附加费用



    public  ZyxDevice(){}

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setDepartid(Long departid)
    {
        this.departid = departid;
    }

    public Long getDepartid()
    {
        return departid;
    }
    public void setDevicecode(String devicecode)
    {
        this.devicecode = devicecode;
    }

    public String getDevicecode()
    {
        return devicecode;
    }
    public void setDevicetype(String devicetype)
    {
        this.devicetype = devicetype;
    }

    public String getDevicetype()
    {
        return devicetype;
    }

    public void setInstalldate(Date installdate)
    {
        this.installdate = installdate;
    }

    public Date getInstalldate()
    {
        return installdate;
    }
    public void setFactory(String factory)
    {
        this.factory = factory;
    }

    public String getFactory()
    {
        return factory;
    }
    public void setSupplier(String supplier)
    {
        this.supplier = supplier;
    }

    public String getSupplier()
    {
        return supplier;
    }
    public void setDutyuser(String dutyuser)
    {
        this.dutyuser = dutyuser;
    }

    public String getDutyuser()
    {
        return dutyuser;
    }
    public void setIstake(String istake)
    {
        this.istake = istake;
    }

    public String getIstake()
    {
        return istake;
    }
    public void setIscheck(String ischeck)
    {
        this.ischeck = ischeck;
    }

    public String getIscheck()
    {
        return ischeck;
    }
    public void setIsrecord(String isrecord)
    {
        this.isrecord = isrecord;
    }

    public String getIsrecord()
    {
        return isrecord;
    }
    public void setIsallot(String isallot)
    {
        this.isallot = isallot;
    }

    public String getIsallot()
    {
        return isallot;
    }
    public void setIsoperation(String isoperation)
    {
        this.isoperation = isoperation;
    }

    public String getIsoperation()
    {
        return isoperation;
    }
    public void setDangerlevel(String dangerlevel)
    {
        this.dangerlevel = dangerlevel;
    }

    public String getDangerlevel()
    {
        return dangerlevel;
    }
    public void setPropertycode(String propertycode)
    {
        this.propertycode = propertycode;
    }

    public String getPropertycode()
    {
        return propertycode;
    }
    public void setLeavecode(String leavecode)
    {
        this.leavecode = leavecode;
    }

    public String getLeavecode()
    {
        return leavecode;
    }


    public void setIsinsure(String isinsure)
    {
        this.isinsure = isinsure;
    }

    public String getIsinsure()
    {
        return isinsure;
    }
    public void setWarrantyprice(BigDecimal warrantyprice)
    {
        this.warrantyprice = warrantyprice;
    }

    public BigDecimal getWarrantyprice()
    {
        return warrantyprice;
    }

    public void setInsuredunit(String insuredunit)
    {
        this.insuredunit = insuredunit;
    }

    public String getInsuredunit()
    {
        return insuredunit;
    }
    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("departid", getDepartid())
            .append("devicecode", getDevicecode())
                .append("devicemodel",getDevicemodel())

            .append("devicetype", getDevicetype())
            .append("useoffice", getUseoffice())
            .append("installdate", getInstalldate())
            .append("factory", getFactory())
            .append("supplier", getSupplier())
            .append("dutyuser", getDutyuser())
            .append("istake", getIstake())
            .append("ischeck", getIscheck())
            .append("isrecord", getIsrecord())
            .append("isallot", getIsallot())
            .append("isoperation", getIsoperation())
            .append("dangerlevel", getDangerlevel())
            .append("propertycode", getPropertycode())
            .append("leavecode", getLeavecode())
            .append("propertyvalue", getPropertyvalue())
            .append("depreciationyear", getDepreciationyear())
            .append("isinsure", getIsinsure())
            .append("warrantyprice", getWarrantyprice())
            .append("warrantydate", getWarrantydate())
            .append("insuredunit", getInsuredunit())
            .append("mobile", getMobile())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
                .append("devicestatus",getDevicestatus())
                .append("unitname",getUnitname())
            .toString();
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public List<ZyxDevice> getChildren() {
        return children;
    }

    public void setChildren(List<ZyxDevice> children) {
        this.children = children;
    }

    public String getDevicemodel() {
        return devicemodel;
    }

    public void setDevicemodel(String devicemodel) {
        this.devicemodel = devicemodel;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }



    public String getChangemode() {
        return changemode;
    }

    public void setChangemode(String changemode) {
        this.changemode = changemode;
    }

    public String getDevicestatus() {
        return devicestatus;
    }

    public void setDevicestatus(String devicestatus) {
        this.devicestatus = devicestatus;
    }

    public Long getMemberid() {
        return memberid;
    }

    public void setMemberid(Long memberid) {
        this.memberid = memberid;
    }


    public SysDept getSysDept() {
        return sysDept;
    }

    public void setSysDept(SysDept sysDept) {
        this.sysDept = sysDept;
    }

    public Long getUseoffice() {
        return useoffice;
    }

    public void setUseoffice(Long useoffice) {
        this.useoffice = useoffice;
    }

    public Long getNormalnum() {
        return normalnum;
    }

    public void setNormalnum(Long normalnum) {
        this.normalnum = normalnum;
    }

    public Long getFaultnum() {
        return faultnum;
    }

    public void setFaultnum(Long faultnum) {
        this.faultnum = faultnum;
    }

    public String getDeptname() {
        return deptname;
    }

    public void setDeptname(String deptname) {
        this.deptname = deptname;
    }

    public String getUseofficename() {
        return useofficename;
    }

    public void setUseofficename(String useofficename) {
        this.useofficename = useofficename;
    }

    public Long getRepairnum() {
        return repairnum;
    }

    public void setRepairnum(Long repairnum) {
        this.repairnum = repairnum;
    }

    public Long getTakecarenum() {
        return takecarenum;
    }

    public void setTakecarenum(Long takecarenum) {
        this.takecarenum = takecarenum;
    }

    public Long getChecknum() {
        return checknum;
    }

    public void setChecknum(Long checknum) {
        this.checknum = checknum;
    }

    public Double getOpenrate() {
        return openrate;
    }

    public void setOpenrate(Double openrate) {
        this.openrate = openrate;
    }

    public Double getDowntime() {
        return downtime;
    }

    public void setDowntime(Double downtime) {
        this.downtime = downtime;
    }

    public Double getOperationcost() {
        return operationcost;
    }

    public void setOperationcost(Double operationcost) {
        this.operationcost = operationcost;
    }

    public Double getDepreciationcost() {
        return depreciationcost;
    }

    public void setDepreciationcost(Double depreciationcost) {
        this.depreciationcost = depreciationcost;
    }

    public Double getGuaranteecost() {
        return guaranteecost;
    }

    public void setGuaranteecost(Double guaranteecost) {
        this.guaranteecost = guaranteecost;
    }

    public Double getRepaircost() {
        return repaircost;
    }

    public void setRepaircost(Double repaircost) {
        this.repaircost = repaircost;
    }

    public Double getCheckcost() {
        return checkcost;
    }

    public void setCheckcost(Double checkcost) {
        this.checkcost = checkcost;
    }

    public Double getTakecarecost() {
        return takecarecost;
    }

    public void setTakecarecost(Double takecarecost) {
        this.takecarecost = takecarecost;
    }

    public Double getOperatecost() {
        return operatecost;
    }

    public void setOperatecost(Double operatecost) {
        this.operatecost = operatecost;
    }

    public Double getOthercost() {
        return othercost;
    }

    public void setOthercost(Double othercost) {
        this.othercost = othercost;
    }

    public BigDecimal getWarrantydate() {
        return warrantydate;
    }

    public void setWarrantydate(BigDecimal warrantydate) {
        this.warrantydate = warrantydate;
    }

    public BigDecimal getPropertyvalue() {
        return propertyvalue;
    }

    public void setPropertyvalue(BigDecimal propertyvalue) {
        this.propertyvalue = propertyvalue;
    }

    public BigDecimal getDepreciationyear() {
        return depreciationyear;
    }

    public void setDepreciationyear(BigDecimal depreciationyear) {
        this.depreciationyear = depreciationyear;
    }

    public String getUnitname() {
        return unitname;
    }

    public void setUnitname(String unitname) {
        this.unitname = unitname;
    }
}
